﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	///<summary>
	///(Упр)
	///</summary>
	[DataContract]
	public enum СпособыОпределенияВалютыОборотаПоСтатье
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"9cb5ad69-ff3e-4c80-92a3-0a30bf233428\", \"Представление\":\"ВалютаУправленческогоУчета\"}")]
		ВалютаУправленческогоУчета = 0,//Валюта управленческого учета
		[EnumMember(Value = "{\"Ссылка\":\"47408141-8ef2-4d3a-9ae1-2b69c280a2ca\", \"Представление\":\"ВалютаРегламентированногоУчета\"}")]
		ВалютаРегламентированногоУчета = 1,//Валюта регламентированного учета
		[EnumMember(Value = "{\"Ссылка\":\"7373d885-8f4c-46aa-942e-9062a84bcfbf\", \"Представление\":\"ВалютаИсточникаДанных\"}")]
		ВалютаИсточникаДанных = 2,//Валюта источника данных
		[EnumMember(Value = "{\"Ссылка\":\"a5ca6b17-1c74-4589-a907-90e9ba479301\", \"Представление\":\"ОсновнаяВалютаСтатьи\"}")]
		ОсновнаяВалютаСтатьи = 3,//Основная валюта статьи
	}
	public static partial class СпособыОпределенияВалютыОборотаПоСтатье_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ВалютаУправленческогоУчета = new Guid("300aa392-23bf-2834-4c80-ff3e9cb5ad69");//Валюта управленческого учета
		public static readonly Guid ВалютаРегламентированногоУчета = new Guid("692be19a-80c2-caa2-4d3a-8ef247408141");//Валюта регламентированного учета
		public static readonly Guid ВалютаИсточникаДанных = new Guid("62902e94-4ba8-bfcf-46aa-8f4c7373d885");//Валюта источника данных
		public static readonly Guid ОсновнаяВалютаСтатьи = new Guid("e99007a9-47ba-0193-4589-1c74a5ca6b17");//Основная валюта статьи
		public static СпособыОпределенияВалютыОборотаПоСтатье Получить(this СпособыОпределенияВалютыОборотаПоСтатье Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static СпособыОпределенияВалютыОборотаПоСтатье Получить(this СпособыОпределенияВалютыОборотаПоСтатье Значение, Guid Ссылка)
		{
			if(Ссылка == ВалютаУправленческогоУчета)
			{
				return СпособыОпределенияВалютыОборотаПоСтатье.ВалютаУправленческогоУчета;
			}
			else if(Ссылка == ВалютаРегламентированногоУчета)
			{
				return СпособыОпределенияВалютыОборотаПоСтатье.ВалютаРегламентированногоУчета;
			}
			else if(Ссылка == ВалютаИсточникаДанных)
			{
				return СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных;
			}
			else if(Ссылка == ОсновнаяВалютаСтатьи)
			{
				return СпособыОпределенияВалютыОборотаПоСтатье.ОсновнаяВалютаСтатьи;
			}
			return СпособыОпределенияВалютыОборотаПоСтатье.ПустаяСсылка;
		}
		public static byte[] Ключ(this СпособыОпределенияВалютыОборотаПоСтатье Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this СпособыОпределенияВалютыОборотаПоСтатье Значение)
		{
			switch (Значение)
			{
				case СпособыОпределенияВалютыОборотаПоСтатье.ВалютаУправленческогоУчета: return ВалютаУправленческогоУчета;
				case СпособыОпределенияВалютыОборотаПоСтатье.ВалютаРегламентированногоУчета: return ВалютаРегламентированногоУчета;
				case СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных: return ВалютаИсточникаДанных;
				case СпособыОпределенияВалютыОборотаПоСтатье.ОсновнаяВалютаСтатьи: return ОсновнаяВалютаСтатьи;
			}
			return Guid.Empty;
		}
	}
}